#ifndef Observer_h
#define Observer_h

#include <cmath>

#include "Matrix.h"

class Observer
{
private:
	Matrix eyeScope;
	Point *location;
	Point *destination;
	float focal;
	float angleOfView;

public:
	void setEyeScope(Matrix a){eyeScope=a;}
	void setLocation(Point a){location=&a;}
	void setDestination(Point a){destination=&a;}
	void setFocal(float a){focal=a;}
	void setAngleOfView(float a){angleOfView=a;}
	
	Matrix getEyeScope() const {return eyeScope;}
	Point getLocation() const {return *location;}
	Point getDestination() const {return *destination;}
	float getFocal() const {return focal;}
	float getAngleOfView() const {return angleOfView;}
	Observer(){cout<<"pas bon"<<endl;}
	
	Observer (Point l, Point d, const float a, int w)
	{
		location=new Point(l);
		destination=new Point(d);
		angleOfView=a;
		focal=(w/2)/(tan(a*3.14/360));
	}

};
#endif
